package com.rygl.staff.domain;

import lombok.Data;

import java.util.Date;

@Data

public class Certificate {
    /**
     * 主键 ID，自增生成，唯一标识一条证书记录
     */
    private Long id;

    /**
     * 员工 ID，关联员工主表（staff.id）
     */
    private Long userId;

    /**
     * 证书名称（如：“一级建造师证书”、“电工证”等）
     */
    private String name;

    /**
     * 证书等级（如：“高级”、“中级”、“初级”）
     */
    private String level;

    /**
     * 证书编号（唯一标识该证书的编号）
     */
    private String number;

    /**
     * 发证机构（如：人社部、国家安全监管总局等）
     */
    private String issueOrg;

    /**
     * 发证日期，表示证书签发的时间
     */
    private Date issueDate;

    /**
     * 有效期起始日期（证书生效时间）
     */
    private Date validFrom;

    /**
     * 有效期结束日期（证书到期或失效时间）
     */
    private Date validTo;

    /**
     * 备注信息，可填写特殊说明或补充内容
     */
    private String remarks;

    /**
     * 创建时间，记录该证书数据首次写入系统的时间
     */
    private Date createTime;

    /**
     * 更新时间，记录该证书数据最后一次修改时间
     */
    private Date updateTime;

    /**
     * 员工信息对象（用于联表查询员工姓名、部门等简要信息）
     * 注意：该字段用于封装联表查询结果，不参与数据库字段映射
     */
    private Staff staff;

}    